Elixirでは、状態を変更する命令型モデルを捨て、プログラムが独立した離散的な 純粋な変換という流れ型アプローチに移行します。コンピュータに「 どのように 値を変更する方法」を指示するのではなく、 プログラミングはデータの変換に焦点を当てるべきである」という関数のパイプラインを定義します。
1. 不変性の原則
Elixirでは すべての値は不変です。データが作成されると、その後変更できません。これにより、 不変なデータは確実なデータであるという情報は予期せぬ変更が起こることなく、状態に関連する重大なバグの種類を排除します。この変換はデータを変更しません。代わりに、各関数は 新しい、新鮮なバージョン のデータを作成します。
2. パイプの哲学
パイプ演算子(|>)は、データを工場ラインを流れる液体のように扱います。関数型プログラミング言語では、データを段階的に変換する関数の考え方を可能にします。
3. アクターの文脈
Erlang仮想マシン(BEAM)では、コードは 小さな並行プロセスで実行され、それぞれ独自の状態を持ちます。 プロセス同士はメッセージを通じて通信します。通信がメッセージ渡しによって行われるため、ネットワーク上の異なるマシン間でのデータ交換は仮想マシンによって透明に処理されます。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>